﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Servico.Bovespa.ContasCorrente;
using Sinacor.Infra.Service.Common;

namespace Sinacor.Servico.Bovespa.ContasCorrente.BusinessLogic
{
    public class ContasCorrente : BaseBusinessLogic
    {

        /// <summary>
        /// Historico:
        /// Data : 18/12/2007
        /// Autor: Ludmilla Modesto 
        /// Obs.: Criado. Metodo que retorna o codigo do Cliente na atividade de Contas Correntes
        /// </summary>
        /// <returns></returns>
        public BusinessEntity.PosicaoContasCorrente
         ConsultarPosicaoContasCorrente(Sinacor.Servico.Bovespa.Cliente.BusinessEntity.Cliente request)
        {

            Int32 codigoClienteCC;
            BusinessEntity.PosicaoContasCorrente response = null;

            Sinacor.Servico.Bovespa.ContasCorrente.ResourceAccess.ContasCorrente raContasCorrente = new Sinacor.Servico.Bovespa.ContasCorrente.ResourceAccess.ContasCorrente();
            //ResourceAccess.ContasCorrente raContasCorrente = new ResourceAccess.ContasCorrente();

            Sinacor.Servico.Bovespa.Cliente.BusinessLogic.Cliente blCliente =
                new Sinacor.Servico.Bovespa.Cliente.BusinessLogic.Cliente();

            if (!String.IsNullOrEmpty(request.Apelido))
            {
                request.Apelido = request.Apelido.ToUpper();
                request.Codigo = blCliente.ConsultarCodigoCliente(request);
            }

            codigoClienteCC = blCliente.ConsultarCodigoClienteContasCorrentes(request);

            response =  raContasCorrente.ConsultarPosicaoContasCorrente(request, codigoClienteCC);

            return response;

        }

        public List<BusinessEntity.HistoricoContaCorrente> ConsultarHistoricoContasCorrentes(BusinessEntity.Parameter.FiltroHistoricoContaCorrente parameter)
        {
            ResourceAccess.ContasCorrente _resourceAcces = new Sinacor.Servico.Bovespa.ContasCorrente.ResourceAccess.ContasCorrente();
            return _resourceAcces.ConsultarHistoricoContasCorrentes(parameter);
        }

    }
}
